from mcp.server.fastmcp import FastMCP

# 创建MCP服务实例
mcp = FastMCP("Bitwise Operation Service")

@mcp.tool()
def bitwise_and(a: int, b: int) -> int:
    """位与运算
    Args:
        a: 第一个整数
        b: 第二个整数
    Returns:
        两数的位与结果
    """
    return a & b

@mcp.tool()
def bitwise_or(a: int, b: int) -> int:
    """位或运算"""
    return a | b

@mcp.tool()
def bitwise_xor(a: int, b: int) -> int:
    """位异或运算"""
    return a ^ b

@mcp.tool()
def bitwise_not(a: int) -> int:
    """位非运算"""
    return ~a

@mcp.tool()
def left_shift(a: int, shift: int) -> int:
    """左移运算"""
    return a << shift

@mcp.tool()
def right_shift(a: int, shift: int) -> int:
    """右移运算"""
    return a >> shift

if __name__ == "__main__":
    print("Bitwise Operation Service 启动...")
    mcp.run(transport="stdio")